//package com.flea.hclv.service.impl;
//
//import com.flea.hclv.constant.Const;
//import com.flea.hclv.model.dao.HTourGroupMapper;
//import com.flea.hclv.model.dao.HTourGroupVisitorMapper;
//import com.flea.hclv.model.entity.HTourGroup;
//import com.flea.hclv.model.entity.HTourGroupVisitor;
//import com.flea.hclv.service.HTourGroupService;
//import com.flea.hclv.util.ServerResponse;
//import com.flea.system.utils.FleaStringUtils;
//import org.apache.commons.collections.CollectionUtils;
//import org.apache.commons.lang3.StringUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//
//import java.util.List;
//
///**
// * @program: project
// * @description: 组团社的团
// * @author: shiliqiang
// * @create: 2018-11-03 13:44
// * @version: 1.0
// */
//@Service
//public class HTourGroupServiceImpl implements HTourGroupService {
//
//    @Autowired
//    private HTourGroupMapper hTourGroupMapper;
//    @Autowired
//    private HTourGroupVisitorMapper hTourGroupVisitorMapper;
//
//    /**
//     * 创建团，同时创建团与游客的关联关系
//     * @param userId  用户ID
//     * @param hTourGroup  团对象
//     * @param visitorIds  游客ID  list
//     * @return 字符串
//     */
//    public ServerResponse<String> save(String userId,HTourGroup hTourGroup,List<String> visitorIds){
//        if (hTourGroup==null){
//            return ServerResponse.createByErrorMessage("参数不能为空");
//        }
//        int size = visitorIds.size();
//        if (size==0){
//            return ServerResponse.createByErrorMessage("visitorId为空");
//        }
//        String tourGroupId = FleaStringUtils.getGenerateUUID();
//        hTourGroup.setId(tourGroupId);
//        hTourGroup.setModifyUser(userId);
//        hTourGroup.setCreateUser(userId);
//        hTourGroup.setPersonNumber(visitorIds.size());
//        hTourGroup.setStatus(Const.TourGroupStatusEnum.NOT_COMPLETE.getCode());
//        int row = hTourGroupMapper.insertSelective(hTourGroup);
//        if (row<0){
//            return ServerResponse.createByErrorMessage("团创建失败");
//        }
//        //创建团也游客关联关系
//        for (String id : visitorIds){
//            HTourGroupVisitor hTourGroupVisitor = new HTourGroupVisitor();
//            hTourGroupVisitor.setId(FleaStringUtils.getGenerateUUID());
//            hTourGroupVisitor.setVisitorId(id);
//            hTourGroupVisitor.setTourGroupId(tourGroupId);
//            hTourGroupVisitor.setCreateUser(userId);
//            hTourGroupVisitor.setModifyUser(userId);
//            hTourGroupVisitorMapper.insertSelective(hTourGroupVisitor);
//        }
//        return ServerResponse.createBySuccess();
//    }
//
//    /**
//     * 更新团的人数
//     * @param hTourGroupId  团ID
//     * @param personNum  要添加的人数
//     * @return 字符串
//     */
//    public ServerResponse<String> updatePersonNumber(String hTourGroupId, int personNum,List<String> visitorIds){
//        if(StringUtils.isBlank(hTourGroupId)){
//            return ServerResponse.createByErrorMessage("团id为空");
//        }
//        if (personNum==0){
//            return ServerResponse.createByErrorMessage("要更新的人数不能为空");
//        }
//        if (CollectionUtils.isEmpty(visitorIds)){
//            return ServerResponse.createByErrorMessage("游客ID不能为空");
//        }
//        HTourGroup hTourGroup = hTourGroupMapper.selectByPrimaryKey(hTourGroupId);
//        if (hTourGroup==null){
//            return ServerResponse.createByErrorMessage("没有找到要更新的团");
//        }
//        hTourGroup.setPersonNumber(hTourGroup.getPersonNumber()+personNum);
//        HTourGroup group = new HTourGroup();
//        group.setId(hTourGroupId);
//        group.setPersonNumber(hTourGroup.getPersonNumber()+personNum);
//        int row = hTourGroupMapper.updateByPrimaryKeySelective(group);
//        if (row<0){
//            return ServerResponse.createByErrorMessage("人数更新失败");
//        }
//        //删除关联关系
//        row = hTourGroupVisitorMapper.deleteByTourGroupIdAndVisitorId(hTourGroupId,visitorIds);
//        if (row<0){
//            return ServerResponse.createByErrorMessage("关联关系删除失败");
//        }
//        return ServerResponse.createBySuccessMessage("人数更新成功");
//    }
//
//    /**
//     * 更新团状态
//     * @param hTourGroupId  团ID
//     * @param status 状态
//     * @return 字符串
//     */
//    public ServerResponse<String> updateStatus(String hTourGroupId,String status){
//        if(StringUtils.isBlank(hTourGroupId)||StringUtils.isBlank(status)){
//            return ServerResponse.createByErrorMessage("参数错误");
//        }
//        HTourGroup hTourGroup = new HTourGroup();
//        hTourGroup.setId(hTourGroupId);
//        hTourGroup.setStatus(status);
//        int row = hTourGroupMapper.updateByPrimaryKeySelective(hTourGroup);
//        if (row>0){
//            return ServerResponse.createBySuccessMessage("状态更新成功");
//        }
//        return ServerResponse.createByErrorMessage("状态更新失败");
//    }
//}
